The architectural landscape of web based applications changed from a pure client server based paradigm, where all processing was performed on a web server, and the purpose of the web browser was only to display the results in a static way, to a more distributed approach, where a part of the processing is performed on the web browser. This approach allows the creation of more interactive and dynamic web based application. AJAX (Asynchronous JavaScript And XML) is one widespread enabling technology for such interactive and dynamic web based applications. It allows e.g. partial update of the web browser content, without requesting new content from the web server. Additionally, AJAX introduces content update communication between web server and web browser, which allows requesting new data from the web server and presenting it in the web browser without reloading the content. There are numerous libraries and frameworks available which provide the above described functionality, together with sets of GUI components, interaction and animation functionalities etc. Typical, those libraries and frameworks are implemented in JavaScript™, which assures that they can be used by most web browsers without the need to install additional software components or plug-ins. Additionally, those libraries and frameworks provide unified, browser independent APIs which hide implementation differences between different web browser types and versions. Some examples of such libraries are jQuery, Dojo or ICEFaces.
This distributed application architecture also creates new demands for performance monitoring and transaction tracing systems, because in such architectures, the performance experience perceived by the user is not only influenced by the performance of the web server, but also by the performance of the web browser side processing because in such scenarios, transactions are not only executed on the web server, but distributed between the web server and browser.
Current art provides monitoring and tracing solutions for the server side processing, and other solutions for browser side monitoring, but there are no monitoring and tracing systems which provide end-to-end visibility, including web browser and web server. This section provides background information related to the present disclosure which is not necessarily prior art.